ExpressionChainSink class¶
Attributes: [DebuggerDisplay("{_expression}, Links = {_links.Length}, BeforeChange = {_beforeChange}, SkipInitial = {_skipInitial}, Distinct = {_isDistinct}")] [EditorBrowsable(EditorBrowsableState.1)] [RequiresUnreferencedCode("Evaluates expression-based member chains via reflection; members may be trimmed.")]
Defined in
Namespace: ReactiveUI.Binding.Reactive.ObservableForProperty
Assembly: ReactiveUI.Binding.Reactive.dll
Full name: ReactiveUI.Binding.Reactive.ObservableForProperty.ExpressionChainSink<T1, T2>
Modifiers: public sealed
Summary¶
Walks an expression member chain (x.A.B.C) as a single switching engine: one watcher per link, each
observing its link on the value produced by the previous link and re-subscribing the deeper links when an
intermediate value changes. Emits the leaf value as an observed change, applying skip-initial, the
non-null-parent filter, the cast to TValue, and the optional distinct-by-value gate
inline — collapsing the nested Select+Switch fold plus
Skip/Where/Select/DistinctUntilChanged into one allocation-light sink.
Applies to
net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-ios18.0, net9.0-macos15.0, net9.0-desktop1.0, net8.0, net8.0-macos14.5, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, netstandard2.1, net481, net462, net471
Class hierarchy
classDiagram
class ExpressionChainSink~T1,T2~
class IObservable~IObservedChange~TSender, TValue~~ {
<>
}
IObservable~IObservedChange~TSender, TValue~~ <|.. ExpressionChainSink~T1,T2~
Implements: IObservable
Constructors¶
| Name | Summary |
|---|---|
| .ctor | Initializes a new instance of the [ExpressionChainSink](# class. |
Methods¶
| Name | Summary |
|---|---|
| Subscribe |